
package mwt.xml.xdbforms.xformlayer;

import java.util.Map;
import javax.xml.transform.ErrorListener;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;
import mwt.xml.xdbforms.xformlayer.exception.XFormTransformerException;

/**
 * Definisce un'interfaccia per la trasformazione xsl per la
 * creazione del documento xform
 * @author Gianfranco Murador, Matteo Ferri, Cristian Castiglia
 * @copyright (C) 2009, MCG08
 */
public interface XFormTransformer {

    /**
     * Crea il documento facendo una trasformazione XSL
     * @param XSLTStream Stream del file xslt
     * @param XMLSource Stream del file xml usato come base
     * @throws XFormTransformerException
     */
    public void transform(StreamSource XSLTStream, DOMSource XMLSource)
            throws XFormTransformerException;


    /**
     * Inoltra i parametri per la trasformazione 
     * @param parameters
     */
    public void setParameters(Map<String, String> parameters);


    /**
     * Setta l'error listener per gli errori della trasformazione
     * @param el
     */
    public void setErrorListener(ErrorListener el);
}
